etcd集群安装

下载etcd 二进制文件

https://github.com/coreos/etcd/releases页面下载最新版本的二进制文件

wget https://github.com/coreos/etcd/releases/download/v3.2.12/etcd-v3.2.12-linux-amd64.tar.gz
tar -xvf etcd-v3.1.5-linux-amd64.tar.gz
mv etcd-v3.1.5-linux-amd64/etcd* /usr/local/bin

centos 安装:

yum install etcd

说明

ETCD_DATA_DIR数据需要提前创建成功,如果没有创建目录,启动集群里会抛异常

etcd.conf配置文件中的所有ip地址都是本机需要暴露的ip地址

initial-cluster 项是集群所有监听ip地址

etcd.conf

# [本机配置]
ETCD_NAME=infra1
ETCD_DATA_DIR="/var/lib/etcd"
ETCD_LISTEN_PEER_URLS="https://10.1.70.61:2380"
ETCD_LISTEN_CLIENT_URLS="https://10.1.70.61:2379"

#[集群配置]
ETCD_INITIAL_ADVERTISE_PEER_URLS="https://10.1.70.61:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_ADVERTISE_CLIENT_URLS="https://10.1.70.61:2379"

etcd.service

[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target
Documentation=https://github.com/coreos

[Service]
Type=notify
WorkingDirectory=/var/lib/etcd/
EnvironmentFile=-/etc/etcd/etcd.conf
ExecStart=/usr/local/bin/etcd \
  --name ${ETCD_NAME} \
  --cert-file=/etc/kubernetes/ssl/kubernetes.pem \
  --key-file=/etc/kubernetes/ssl/kubernetes-key.pem \
  --peer-cert-file=/etc/kubernetes/ssl/kubernetes.pem \
  --peer-key-file=/etc/kubernetes/ssl/kubernetes-key.pem \
  --trusted-ca-file=/etc/kubernetes/ssl/ca.pem \
  --peer-trusted-ca-file=/etc/kubernetes/ssl/ca.pem \
  --initial-advertise-peer-urls ${ETCD_INITIAL_ADVERTISE_PEER_URLS} \
  --listen-peer-urls ${ETCD_LISTEN_PEER_URLS} \
  --listen-client-urls ${ETCD_LISTEN_CLIENT_URLS},http://127.0.0.1:2379 \
  --advertise-client-urls ${ETCD_ADVERTISE_CLIENT_URLS} \
  --initial-cluster-token ${ETCD_INITIAL_CLUSTER_TOKEN} \
  --initial-cluster infra1=https://10.1.70.61:2380,infra2=https://10.1.70.62:2380 \
  --initial-cluster-state new \
  --data-dir=${ETCD_DATA_DIR}
Restart=on-failure
RestartSec=5
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

参数说明

  • –data-dir 指定节点的数据存储目录,若不指定,则默认是当前目录。这些数据包括节点ID,集群ID,集群初始化配置,Snapshot文件,若未指 定–wal-dir,还会存储WAL文件

  • –wal-dir 指定节点的was文件存储目录,若指定了该参数,wal文件会和其他数据文件分开存储

  • –name 节点名称

  • –initial-advertise-peer-urls 告知集群其他节点的URL,tcp2380端口用于集群通信

  • –listen-peer-urls 监听URL,用于与其他节点通讯

  • –advertise-client-urls 告知客户端的URL, 也就是服务的URL,tcp2379端口用于监听客户端请求

  • –initial-cluster-token 集群的ID

  • –initial-cluster 集群中所有节点

  • –initial-cluster-state 集群状态,new为新创建集群,existing为已存在的集群

  • WorkingDirectory参数目录必须要先创建后再启动etcd服务

查看etcd信息

etcdctl --ca-file=/etc/kubernetes/ssl/ca.pem \
    --cert-file=/etc/kubernetes/ssl/kubernetes.pem \
    --key-file=/etc/kubernetes/ssl/kubernetes-key.pem \
    get /kube-centos/network/config

results matching ""

    No results matching ""